package SmartFurniture.Factory.Philips;

import SmartFurniture.AbstractBuilder.SpeakerBuilder;
import SmartFurniture.AbstractFactory.AirConditioner;
import SmartFurniture.AbstractFactory.Light;
import SmartFurniture.Director.SpeakerDirector;
import SmartFurniture.Entity.Speaker;
import SmartFurniture.Interface.AbstractFactory;

public class PhilipsDevice implements AbstractFactory {
    @Override
    public AirConditioner createAirConditioner() {
        return new PhilipsAirConditioner();
    }

    @Override
    public Light createLight() {
        return new PhilipsLight();
    }

    @Override
    public Speaker createSpeaker() {
        SpeakerBuilder speakerBuilder = new PhilipsSpeakerBuilder();
        SpeakerDirector speakerDirector = new SpeakerDirector(speakerBuilder);
        return speakerDirector.constructSpeaker();
    }
}
